package com.bw.controller;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.bw.bean.DataBean;
import com.bw.service.DataBeanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @author admin
 * @date 2025年09月25日 14:55
 */
@RestController
public class DataBeanController {
    @Autowired
    private DataBeanService dataBeanService;

    @RequestMapping("/s1")
    public JSONObject select1(){
        JSONObject result = new JSONObject();

        result.put("status",0);
        result.put("msg","");

        List<DataBean> beans = dataBeanService.select1();
        for (DataBean bean : beans) {
            result.put("data",bean.getCta());
        }


       return result ;
    }

    @RequestMapping("/s2")
    public JSONObject select2(){
        JSONObject result = new JSONObject();
        result.put("status", 0); // 状态码，0表示成功
        result.put("msg", "");   // 消息内容，成功时为空

        // 创建数据对象
        JSONObject data = new JSONObject();
        result.put("data", data);

        // 创建列定义数组和数据行数组
        JSONArray columns = new JSONArray();
        JSONArray rows = new JSONArray();
        data.put("columns", columns);
        data.put("rows", rows);

        // 定义表格列信息


        JSONObject col2 = new JSONObject();
        col2.put("id", "name");         // 字段名
        col2.put("name", "名称");   // 显示中文名
        columns.add(col2);

        JSONObject col3 = new JSONObject();
        col3.put("id", "cta");         // 字段名
        col3.put("name", "正确答题次数");   // 显示中文名
        columns.add(col3);

        JSONObject col4 = new JSONObject();
        col4.put("id", "ctb");         // 字段名
        col4.put("name", "答题次数");   // 显示中文名
        columns.add(col4);

        JSONObject col5 = new JSONObject();
        col5.put("id", "ctc");         // 字段名
        col5.put("name", "正确率");   // 显示中文名
        columns.add(col5);

        // 从服务层获取数据并填充到行中
        List<DataBean> beans = dataBeanService.select2();
        for (DataBean bean : beans) {
            JSONObject row = new JSONObject();

            row.put("name", bean.getName());      // 菜品名称
            row.put("cta", bean.getCta());        // 评价次数
            row.put("ctb", bean.getCtb());        // 好评次数
            row.put("ctc", bean.getCtc());        // 平均评分

            rows.add(row);
        }
        return result;
    }

    @RequestMapping("/s3")
    public JSONObject select3(){
        JSONObject result = new JSONObject();
        result.put("status", 0); // 状态码，0表示成功
        result.put("msg", "");   // 消息内容，成功时为空

        // 创建数据对象
        JSONObject data = new JSONObject();
        result.put("data", data);

        // 创建列定义数组和数据行数组
        JSONArray columns = new JSONArray();
        JSONArray rows = new JSONArray();
        data.put("columns", columns);
        data.put("rows", rows);

        // 定义表格列信息


        JSONObject col2 = new JSONObject();
        col2.put("id", "name");         // 字段名
        col2.put("name", "名称");   // 显示中文名
        columns.add(col2);

        JSONObject col3 = new JSONObject();
        col3.put("id", "cta");         // 字段名
        col3.put("name", "考试人次");   // 显示中文名
        columns.add(col3);

        JSONObject col4 = new JSONObject();
        col4.put("id", "ctb");         // 字段名
        col4.put("name", "平均分");   // 显示中文名
        columns.add(col4);

        JSONObject col5 = new JSONObject();
        col5.put("id", "ctc");         // 字段名
        col5.put("name", "平均时长");   // 显示中文名
        columns.add(col5);

        // 从服务层获取数据并填充到行中
        List<DataBean> beans = dataBeanService.select3();
        for (DataBean bean : beans) {
            JSONObject row = new JSONObject();

            row.put("name", bean.getName());      // 菜品名称
            row.put("cta", bean.getCta());        // 评价次数
            row.put("ctb", bean.getCtb());        // 好评次数
            row.put("ctc", bean.getCtc());        // 平均评分

            rows.add(row);
        }
        return result;
    }

    @RequestMapping("/s4")
    public JSONObject select4(){
        JSONObject result = new JSONObject();
        result.put("status", 0); // 状态码，0表示成功
        result.put("msg", "");   // 消息内容，成功时为空

        // 创建数据对象
        JSONObject data = new JSONObject();
        result.put("data", data);

        JSONArray mapData = new JSONArray();
        data.put("mapData",mapData);
        data.put("valueName","订单总额");

        JSONArray tooltipNames = new JSONArray();
        tooltipNames.add("下单人数");
        tooltipNames.add("订单数");
        data.put("tooltipNames",tooltipNames);



        List<DataBean> beans = dataBeanService.select4();
        for (DataBean bean : beans) {
            JSONObject row = new JSONObject();
            row.put("name",bean.getName());
            row.put("value",bean.getCta());


            JSONArray tooltipValues = new JSONArray();
            tooltipValues.add(bean.getCtb());
            tooltipValues.add(bean.getCtc());
            row.put("tooltipValues",tooltipValues);

            mapData.add(row);
        }


        return result ;
    }

}
